├── latex ├── html_entity ├── __init__.py ├── README.rst └── html_entity.py ├── libravatar ├── .gitignore ├── __init__.py └── test_data │ └── theme │ └── templates │ └── article.html ├── pdf ├── __init__.py ├── Readme.rst └── test_pdf.py ├── yuicompressor ├── .gitignore ├── __init__.py ├── README.md └── yuicompressor.py ├── ical ├── __init__.py └── Readme.rst ├── read_more_link ├── requirements.txt ├── __init__.py └── Readme.md ├── sitemap └── __init__.py ├── slim ├── __init__.py └── README.md ├── test_data ├── themes │ ├── simple │ │ └── templates │ │ │ ├── tag.html │ │ │ ├── tags.html │ │ │ ├── category.html │ │ │ ├── author.html │ │ │ ├── categories.html │ │ │ ├── translations.html │ │ │ ├── page.html │ │ │ ├── archives.html │ │ │ ├── gosquared.html │ │ │ ├── pagination.html │ │ │ ├── article.html │ │ │ └── index.html │ └── notmyidea │ │ ├── templates │ │ ├── authors.html │ │ ├── tag.html │ │ ├── author.html │ │ ├── category.html │ │ ├── comments.html │ │ ├── taglist.html │ │ ├── twitter.html │ │ ├── translations.html │ │ ├── archives.html │ │ ├── github.html │ │ ├── disqus_script.html │ │ ├── page.html │ │ ├── analytics.html │ │ ├── article_infos.html │ │ ├── piwik.html │ │ └── article.html │ │ └── static │ │ ├── images │ │ └── icons │ │ │ ├── rss.png │ │ │ ├── vimeo.png │ │ │ ├── aboutme.png │ │ │ ├── github.png │ │ │ ├── gittip.png │ │ │ ├── lastfm.png │ │ │ ├── reddit.png │ │ │ ├── twitter.png │ │ │ ├── youtube.png │ │ │ ├── bitbucket.png │ │ │ ├── delicious.png │ │ │ ├── facebook.png │ │ │ ├── gitorious.png │ │ │ ├── hackernews.png │ │ │ ├── linkedin.png │ │ │ ├── slideshare.png │ │ │ ├── google-plus.png │ │ │ ├── speakerdeck.png │ │ │ └── google-groups.png │ │ └── css │ │ ├── typogrify.css │ │ ├── wide.css │ │ └── reset.css ├── content │ ├── unwanted_file │ ├── extra │ │ └── robots.txt │ ├── cat1 │ │ ├── article2.rst │ │ ├── article3.rst │ │ ├── article1.rst │ │ └── markdown-article.md │ ├── pictures │ │ ├── Sushi.jpg │ │ ├── Fat_Cat.jpg │ │ └── Sushi_Macro.jpg │ ├── 2012-11-30_filename-metadata.rst │ ├── pages │ │ ├── jinja2_template.html │ │ ├── test_page.rst │ │ ├── hidden_page.rst │ │ └── override_url_saveas.rst │ ├── another_super_article-fr.rst │ ├── article2.rst │ ├── draft_article.rst │ ├── article2-fr.rst │ ├── unbelievable.rst │ ├── another_super_article.rst │ └── super_article.rst ├── Readme.rst └── pelican.conf.py ├── assets ├── __init__.py └── test_data │ ├── static │ └── css │ │ ├── style.min.css │ │ └── style.scss │ └── templates │ └── base.html ├── dateish ├── __init__.py ├── dateish.py └── Readme.rst ├── events ├── __init__.py └── events_list.html ├── gallery └── __init__.py ├── github-wiki ├── __init__.py └── wiki.js ├── glossary └── __init__.py ├── gravatar ├── __init__.py ├── Readme.rst └── gravatar.py ├── headerid ├── __init__.py ├── README.rst └── headerid.py ├── i18n_subsites ├── test_data │ ├── content │ │ ├── images │ │ │ └── img.png │ │ ├── pages │ │ │ ├── untranslated-page.rst │ │ │ ├── hidden-page-en.rst │ │ │ ├── hidden-page-cz.rst │ │ │ └── hidden-page-de.rst │ │ ├── translated_article-cz.rst │ │ ├── translated_article-en.rst │ │ ├── translated_article-de.rst │ │ └── untranslated_article-en.rst │ ├── output │ │ ├── images │ │ │ └── img.png │ │ ├── theme │ │ │ └── style.css │ │ ├── de │ │ │ └── pages │ │ │ │ ├── untranslated-page-en.html │ │ │ │ └── 404.html │ │ ├── pages │ │ │ ├── untranslated-page.html │ │ │ └── 404.html │ │ └── cz │ │ │ └── pages │ │ │ └── 404.html │ ├── localized_theme │ │ ├── static │ │ │ └── style.css │ │ ├── babel.cfg │ │ ├── translations │ │ │ └── de │ │ │ │ └── LC_MESSAGES │ │ │ │ ├── messages.mo │ │ │ │ └── messages.po │ │ ├── templates │ │ │ └── base.html │ │ └── messages.pot │ └── pelicanconf.py └── __init__.py ├── linker ├── __init__.py ├── content_objects.py ├── mailto.py └── Readme.md ├── pelican_comment_system ├── identicon │ ├── __init__.py │ ├── README.md │ └── LICENSE ├── __init__.py ├── doc │ ├── feed.md │ ├── avatars.md │ └── quickstart.md └── Readme.md ├── photos ├── __init__.py ├── requirements.txt ├── test_data │ ├── agallery │ │ ├── captions.txt │ │ ├── exif.txt │ │ ├── best.jpg │ │ └── night.png │ ├── photo.md │ └── filename.md ├── SourceCodePro-Bold.otf └── SourceCodePro-Regular.otf ├── render_math └── __init__.py ├── series └── __init__.py ├── summary └── __init__.py ├── autopages ├── __init__.py ├── LICENSE └── README.md ├── gzip_cache ├── __init__.py └── Readme.rst ├── interlinks ├── __init__.py └── test_data │ └── testme.md ├── members ├── __init__.py ├── Readme.rst └── members.py ├── multi_part ├── __init__.py ├── Readme.md └── multi_part.py ├── neighbors └── __init__.py ├── org_reader ├── __init__.py └── LICENSE ├── plantuml └── __init__.py ├── post_stats ├── __init__.py ├── readability.py └── readme.rst ├── rmd_reader └── __init__.py ├── share_post └── __init__.py ├── sub_parts ├── __init__.py └── test_data │ ├── noparent.md │ ├── parent.md │ ├── parent--implicit.md │ └── parent-explicit.md ├── thumbnailer ├── __init__.py └── test_data │ ├── sample_image.jpg │ ├── expected_exact.jpg │ ├── expected_height.jpg │ ├── expected_square.jpg │ ├── expected_width.jpg │ └── subdir │ └── sample_image.jpg ├── author_images ├── __init__.py ├── generate_hashsum.py └── author_images.py ├── category_meta ├── __init__.py └── README.md ├── clean_summary ├── __init__.py └── README.md ├── code_include └── __init__.py ├── creole_reader ├── __init__.py └── Readme.md ├── disqus_static └── __init__.py ├── extract_toc └── __init__.py ├── feed_summary └── __init__.py ├── footer_insert ├── __init__.py ├── README.md └── footer_insert.py ├── jinja2content └── __init__.py ├── liquid_tags ├── __init__.py ├── test_data │ ├── pelicanhtml_2.tpl │ ├── pelicanhtml_3.tpl │ ├── content │ │ ├── test-ipython-notebook-nbformat3.md │ │ └── test-ipython-notebook-nbformat4.md │ ├── pelicanconf.py │ └── flickr.json ├── .gitignore ├── tox.ini ├── literal.py ├── liquid_tags.py ├── test_soundcloud.py ├── speakerdeck.py ├── test_giphy.py ├── spotify.py ├── pelicanhtml_2.tpl ├── pelicanhtml_1.tpl ├── test_audio.py ├── pelicanhtml_3.tpl └── soundcloud.py ├── md_inline_extension └── __init__.py ├── pelican-rdf ├── __init__.py └── sparql-queries │ ├── lov_metadata.sparql │ └── classes.sparql ├── related_posts ├── __init__.py └── Readme.rst ├── section_number ├── __init__.py └── Readme.md ├── show_source └── __init__.py ├── subcategory └── __init__.py ├── tag_cloud ├── __init__.py └── test_data │ ├── article_1.md │ ├── article_4.md │ ├── article_3.md │ ├── article_2.md │ └── article_5.md ├── tipue_search └── __init__.py ├── always_modified ├── __init__.py ├── README.md └── always_modified.py ├── asciidoc_reader ├── __init__.py └── test_data │ ├── article_with_asc_options.asc │ └── article_with_asc_extension.asc ├── collate_content ├── .gitignore └── __init__.py ├── filetime_from_git ├── __init__.py ├── utils.py └── registration.py ├── gist_directive ├── __init__.py └── README.rst ├── github_activity ├── __init__.py └── Readme.rst ├── global_license ├── __init__.py ├── Readme.rst └── global_license.py ├── goodreads_activity └── __init__.py ├── optimize_images ├── __init__.py └── Readme.md ├── permalinks ├── __init__.py └── README.md ├── random_article ├── __init__.py └── Readme.md ├── static_comments ├── __init__.py ├── Readme.md └── static_comments.py ├── textile_reader ├── __init__.py └── Readme.textile ├── txt2tags_reader ├── __init__.py ├── README.md ├── LICENSE └── txt2tags_reader.py ├── filetime_from_hg ├── __init__.py └── README.rst ├── html_rst_directive ├── __init__.py ├── html_rst_directive.py └── Readme.rst ├── simple_footnotes ├── __init__.py ├── README.md └── test_simple_footnotes.py ├── custom_article_urls ├── __init__.py └── README.md ├── googleplus_comments ├── __init__.py ├── Readme.md └── googleplus_comments.py ├── representative_image ├── __init__.py └── Readme.md ├── video_privacy_enhancer ├── __init__.py └── video_service_thumbnail_url_generating_functions.py ├── better_figures_and_images ├── __init__.py └── test_data │ ├── dummy-200x200.png │ ├── dummy-250x300.png │ └── dummy-800x300.png ├── w3c_validate ├── __init__.py └── README.md ├── better_codeblock_line_numbering └── __init__.py ├── bootstrap-rst ├── 140x140.png ├── 171x180.png ├── 300x200.png ├── bootstrap │ └── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff ├── __init__.py ├── doc │ ├── components-badges.txt │ ├── bootstrap-roles.txt │ ├── components-page-header.txt │ ├── components-breadcrumbs.txt │ ├── components-wells.txt │ ├── components-jumbotron.txt │ ├── CSS-code.txt │ ├── CSS-images.txt │ ├── components-glyphicons.txt │ └── components-labels.txt ├── page.tmpl ├── Makefile ├── LICENSE ├── README.rst ├── custom.css └── roles.py ├── pelican_unity_webgl ├── __init__.py ├── config.py ├── template.txt └── LICENSE.txt ├── twitter_bootstrap_rst_directives ├── __init__.py └── Readme.rst ├── .gitignore ├── touch ├── README.rst └── __init__.py ├── .travis.yml ├── better_tables ├── LICENSE ├── README.md └── __init__.py └── Contributing.rst /latex: -------------------------------------------------------------------------------- 1 | render_math/ -------------------------------------------------------------------------------- /html_entity/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /libravatar/.gitignore: -------------------------------------------------------------------------------- 1 | /*.pyc 2 | -------------------------------------------------------------------------------- /pdf/__init__.py: -------------------------------------------------------------------------------- 1 | from .pdf import * 2 | -------------------------------------------------------------------------------- /yuicompressor/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /ical/__init__.py: -------------------------------------------------------------------------------- 1 | from .ical import * 2 | -------------------------------------------------------------------------------- /read_more_link/requirements.txt: -------------------------------------------------------------------------------- 1 | lxml>=3.2.1 -------------------------------------------------------------------------------- /sitemap/__init__.py: -------------------------------------------------------------------------------- 1 | from .sitemap import * -------------------------------------------------------------------------------- /slim/__init__.py: -------------------------------------------------------------------------------- 1 | from .slim import * 2 | -------------------------------------------------------------------------------- /test_data/themes/simple/templates/tag.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test_data/themes/simple/templates/tags.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/__init__.py: -------------------------------------------------------------------------------- 1 | from .assets import * 2 | -------------------------------------------------------------------------------- /dateish/__init__.py: -------------------------------------------------------------------------------- 1 | from .dateish import * 2 | -------------------------------------------------------------------------------- /events/__init__.py: -------------------------------------------------------------------------------- 1 | from .events import * 2 | -------------------------------------------------------------------------------- /gallery/__init__.py: -------------------------------------------------------------------------------- 1 | from .gallery import * 2 | -------------------------------------------------------------------------------- /github-wiki/__init__.py: -------------------------------------------------------------------------------- 1 | from .wiki import * 2 | -------------------------------------------------------------------------------- /glossary/__init__.py: -------------------------------------------------------------------------------- 1 | from .glossary import * 2 | -------------------------------------------------------------------------------- /gravatar/__init__.py: -------------------------------------------------------------------------------- 1 | from .gravatar import * 2 | -------------------------------------------------------------------------------- /headerid/__init__.py: -------------------------------------------------------------------------------- 1 | from .headerid import * 2 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/content/images/img.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/output/images/img.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/output/theme/style.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linker/__init__.py: -------------------------------------------------------------------------------- 1 | from .linker import * 2 | -------------------------------------------------------------------------------- /pelican_comment_system/identicon/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /photos/__init__.py: -------------------------------------------------------------------------------- 1 | from .photos import * 2 | -------------------------------------------------------------------------------- /render_math/__init__.py: -------------------------------------------------------------------------------- 1 | from .math import * 2 | -------------------------------------------------------------------------------- /series/__init__.py: -------------------------------------------------------------------------------- 1 | from .series import * 2 | -------------------------------------------------------------------------------- /summary/__init__.py: -------------------------------------------------------------------------------- 1 | from .summary import * 2 | -------------------------------------------------------------------------------- /autopages/__init__.py: -------------------------------------------------------------------------------- 1 | from .autopages import * 2 | -------------------------------------------------------------------------------- /gzip_cache/__init__.py: -------------------------------------------------------------------------------- 1 | from .gzip_cache import * 2 | -------------------------------------------------------------------------------- /interlinks/__init__.py: -------------------------------------------------------------------------------- 1 | from .interlinks import * 2 | -------------------------------------------------------------------------------- /libravatar/__init__.py: -------------------------------------------------------------------------------- 1 | from . libravatar import * 2 | -------------------------------------------------------------------------------- /members/__init__.py: -------------------------------------------------------------------------------- 1 | from members import * # noqa 2 | -------------------------------------------------------------------------------- /multi_part/__init__.py: -------------------------------------------------------------------------------- 1 | from .multi_part import * 2 | -------------------------------------------------------------------------------- /neighbors/__init__.py: -------------------------------------------------------------------------------- 1 | from .neighbors import * 2 | -------------------------------------------------------------------------------- /org_reader/__init__.py: -------------------------------------------------------------------------------- 1 | from .org_reader import * 2 | -------------------------------------------------------------------------------- /photos/requirements.txt: -------------------------------------------------------------------------------- 1 | Pillow 2 | piexif>=1.0.5 3 | -------------------------------------------------------------------------------- /plantuml/__init__.py: -------------------------------------------------------------------------------- 1 | from .plantuml_rst import * 2 | -------------------------------------------------------------------------------- /post_stats/__init__.py: -------------------------------------------------------------------------------- 1 | from .post_stats import * 2 | -------------------------------------------------------------------------------- /rmd_reader/__init__.py: -------------------------------------------------------------------------------- 1 | from .rmd_reader import * 2 | -------------------------------------------------------------------------------- /share_post/__init__.py: -------------------------------------------------------------------------------- 1 | from .share_post import * 2 | -------------------------------------------------------------------------------- /sub_parts/__init__.py: -------------------------------------------------------------------------------- 1 | from .sub_parts import * 2 | -------------------------------------------------------------------------------- /test_data/content/unwanted_file: -------------------------------------------------------------------------------- 1 | not to be parsed 2 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/templates/authors.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /thumbnailer/__init__.py: -------------------------------------------------------------------------------- 1 | from .thumbnailer import * -------------------------------------------------------------------------------- /author_images/__init__.py: -------------------------------------------------------------------------------- 1 | from .author_images import * 2 | -------------------------------------------------------------------------------- /category_meta/__init__.py: -------------------------------------------------------------------------------- 1 | from .category_meta import * 2 | -------------------------------------------------------------------------------- /clean_summary/__init__.py: -------------------------------------------------------------------------------- 1 | from .clean_summary import * 2 | -------------------------------------------------------------------------------- /code_include/__init__.py: -------------------------------------------------------------------------------- 1 | from .code_include import * 2 | -------------------------------------------------------------------------------- /creole_reader/__init__.py: -------------------------------------------------------------------------------- 1 | from .creole_reader import * 2 | -------------------------------------------------------------------------------- /disqus_static/__init__.py: -------------------------------------------------------------------------------- 1 | from .disqus_static import * 2 | -------------------------------------------------------------------------------- /extract_toc/__init__.py: -------------------------------------------------------------------------------- 1 | from .extract_toc import * 2 | -------------------------------------------------------------------------------- /feed_summary/__init__.py: -------------------------------------------------------------------------------- 1 | from .feed_summary import * 2 | -------------------------------------------------------------------------------- /footer_insert/__init__.py: -------------------------------------------------------------------------------- 1 | from .footer_insert import * 2 | -------------------------------------------------------------------------------- /i18n_subsites/__init__.py: -------------------------------------------------------------------------------- 1 | from .i18n_subsites import * 2 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/localized_theme/static/style.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jinja2content/__init__.py: -------------------------------------------------------------------------------- 1 | from .jinja2content import * 2 | -------------------------------------------------------------------------------- /liquid_tags/__init__.py: -------------------------------------------------------------------------------- 1 | from .liquid_tags import * 2 | -------------------------------------------------------------------------------- /md_inline_extension/__init__.py: -------------------------------------------------------------------------------- 1 | from .inline import * 2 | -------------------------------------------------------------------------------- /pelican-rdf/__init__.py: -------------------------------------------------------------------------------- 1 | from .pelican_rdf import * 2 | -------------------------------------------------------------------------------- /read_more_link/__init__.py: -------------------------------------------------------------------------------- 1 | from .read_more_link import * -------------------------------------------------------------------------------- /related_posts/__init__.py: -------------------------------------------------------------------------------- 1 | from .related_posts import * 2 | -------------------------------------------------------------------------------- /section_number/__init__.py: -------------------------------------------------------------------------------- 1 | from .section_number import * -------------------------------------------------------------------------------- /show_source/__init__.py: -------------------------------------------------------------------------------- 1 | from .show_source import * 2 | -------------------------------------------------------------------------------- /subcategory/__init__.py: -------------------------------------------------------------------------------- 1 | from .subcategory import * 2 | -------------------------------------------------------------------------------- /tag_cloud/__init__.py: -------------------------------------------------------------------------------- 1 | from .tag_cloud import * 2 | 3 | -------------------------------------------------------------------------------- /tipue_search/__init__.py: -------------------------------------------------------------------------------- 1 | from .tipue_search import * 2 | -------------------------------------------------------------------------------- /always_modified/__init__.py: -------------------------------------------------------------------------------- 1 | from .always_modified import * 2 | -------------------------------------------------------------------------------- /asciidoc_reader/__init__.py: -------------------------------------------------------------------------------- 1 | from .asciidoc_reader import * 2 | -------------------------------------------------------------------------------- /collate_content/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Python files 3 | *.pyc 4 | -------------------------------------------------------------------------------- /filetime_from_git/__init__.py: -------------------------------------------------------------------------------- 1 | from .registration import * 2 | -------------------------------------------------------------------------------- /gist_directive/__init__.py: -------------------------------------------------------------------------------- 1 | from gist_directive import * 2 | -------------------------------------------------------------------------------- /github_activity/__init__.py: -------------------------------------------------------------------------------- 1 | from .github_activity import * 2 | -------------------------------------------------------------------------------- /global_license/__init__.py: -------------------------------------------------------------------------------- 1 | from .global_license import * 2 | -------------------------------------------------------------------------------- /goodreads_activity/__init__.py: -------------------------------------------------------------------------------- 1 | from .goodreads_activity import * -------------------------------------------------------------------------------- /liquid_tags/test_data/pelicanhtml_2.tpl: -------------------------------------------------------------------------------- 1 | ../pelicanhtml_2.tpl -------------------------------------------------------------------------------- /liquid_tags/test_data/pelicanhtml_3.tpl: -------------------------------------------------------------------------------- 1 | ../pelicanhtml_3.tpl -------------------------------------------------------------------------------- /optimize_images/__init__.py: -------------------------------------------------------------------------------- 1 | from .optimize_images import * 2 | -------------------------------------------------------------------------------- /permalinks/__init__.py: -------------------------------------------------------------------------------- 1 | from .permalinks import register 2 | -------------------------------------------------------------------------------- /random_article/__init__.py: -------------------------------------------------------------------------------- 1 | from .random_article import * 2 | -------------------------------------------------------------------------------- /static_comments/__init__.py: -------------------------------------------------------------------------------- 1 | from .static_comments import * 2 | -------------------------------------------------------------------------------- /textile_reader/__init__.py: -------------------------------------------------------------------------------- 1 | from .textile_reader import * 2 | -------------------------------------------------------------------------------- /txt2tags_reader/__init__.py: -------------------------------------------------------------------------------- 1 | from .txt2tags_reader import * 2 | -------------------------------------------------------------------------------- /filetime_from_hg/__init__.py: -------------------------------------------------------------------------------- 1 | from .filetime_from_hg import * 2 | -------------------------------------------------------------------------------- /html_rst_directive/__init__.py: -------------------------------------------------------------------------------- 1 | from .html_rst_directive import * 2 | -------------------------------------------------------------------------------- /photos/test_data/agallery/captions.txt: -------------------------------------------------------------------------------- 1 | best.jpg: Caption-best 2 | -------------------------------------------------------------------------------- /simple_footnotes/__init__.py: -------------------------------------------------------------------------------- 1 | from .simple_footnotes import * 2 | -------------------------------------------------------------------------------- /custom_article_urls/__init__.py: -------------------------------------------------------------------------------- 1 | from .custom_article_urls import * 2 | -------------------------------------------------------------------------------- /googleplus_comments/__init__.py: -------------------------------------------------------------------------------- 1 | from .googleplus_comments import * 2 | -------------------------------------------------------------------------------- /representative_image/__init__.py: -------------------------------------------------------------------------------- 1 | from .representative_image import * 2 | -------------------------------------------------------------------------------- /pelican_comment_system/__init__.py: -------------------------------------------------------------------------------- 1 | from .pelican_comment_system import * 2 | -------------------------------------------------------------------------------- /video_privacy_enhancer/__init__.py: -------------------------------------------------------------------------------- 1 | from .video_privacy_enhancer import * 2 | -------------------------------------------------------------------------------- /better_figures_and_images/__init__.py: -------------------------------------------------------------------------------- 1 | from .better_figures_and_images import * 2 | -------------------------------------------------------------------------------- /test_data/content/extra/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /static/pictures 3 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/localized_theme/babel.cfg: -------------------------------------------------------------------------------- 1 | [jinja2: templates/**.html] 2 | 3 | -------------------------------------------------------------------------------- /photos/test_data/agallery/exif.txt: -------------------------------------------------------------------------------- 1 | best.jpg: EXIF-best 2 | night.png: EXIF-night 3 | -------------------------------------------------------------------------------- /w3c_validate/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from .wc3_validate import * 3 | -------------------------------------------------------------------------------- /yuicompressor/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from .yuicompressor import * 3 | -------------------------------------------------------------------------------- /sub_parts/test_data/noparent.md: -------------------------------------------------------------------------------- 1 | title: No parent 2 | tags: atag 3 | 4 | Normal article. 5 | -------------------------------------------------------------------------------- /better_codeblock_line_numbering/__init__.py: -------------------------------------------------------------------------------- 1 | from .better_codeblock_line_numbering import * 2 | -------------------------------------------------------------------------------- /liquid_tags/.gitignore: -------------------------------------------------------------------------------- 1 | .tox 2 | test_data/cache/ 3 | test_data/output/theme/ 4 | _nb_header.html 5 | -------------------------------------------------------------------------------- /tag_cloud/test_data/article_1.md: -------------------------------------------------------------------------------- 1 | Title: Article1 2 | tags: fun, pelican, plugins 3 | 4 | content, yeah! -------------------------------------------------------------------------------- /tag_cloud/test_data/article_4.md: -------------------------------------------------------------------------------- 1 | Title: Article4 2 | tags: pelican, fun 3 | 4 | content4, yeah! 5 | 6 | -------------------------------------------------------------------------------- /bootstrap-rst/140x140.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/bootstrap-rst/140x140.png -------------------------------------------------------------------------------- /bootstrap-rst/171x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/bootstrap-rst/171x180.png -------------------------------------------------------------------------------- /bootstrap-rst/300x200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/bootstrap-rst/300x200.png -------------------------------------------------------------------------------- /pelican_unity_webgl/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .UnityGameDirective import register 4 | -------------------------------------------------------------------------------- /sub_parts/test_data/parent.md: -------------------------------------------------------------------------------- 1 | title: Parent 2 | tags: atag 3 | 4 | Parent article with two sub-articles. 5 | -------------------------------------------------------------------------------- /tag_cloud/test_data/article_3.md: -------------------------------------------------------------------------------- 1 | Title: Article3 2 | tags: pelican, plugins 3 | 4 | content3, yeah! 5 | 6 | -------------------------------------------------------------------------------- /test_data/content/cat1/article2.rst: -------------------------------------------------------------------------------- 1 | Article 2 2 | ######### 3 | 4 | :date: 2011-02-17 5 | 6 | Article 2 7 | -------------------------------------------------------------------------------- /test_data/content/cat1/article3.rst: -------------------------------------------------------------------------------- 1 | Article 3 2 | ######### 3 | 4 | :date: 2011-02-17 5 | 6 | Article 3 7 | -------------------------------------------------------------------------------- /tag_cloud/test_data/article_2.md: -------------------------------------------------------------------------------- 1 | Title: Article2 2 | tags: pelican, plugins, python 3 | 4 | content2, yeah! 5 | 6 | -------------------------------------------------------------------------------- /tag_cloud/test_data/article_5.md: -------------------------------------------------------------------------------- 1 | Title: Article5 2 | tags: plugins, pelican, fun 3 | 4 | content5, yeah! 5 | 6 | -------------------------------------------------------------------------------- /photos/SourceCodePro-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/photos/SourceCodePro-Bold.otf -------------------------------------------------------------------------------- /photos/SourceCodePro-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/photos/SourceCodePro-Regular.otf -------------------------------------------------------------------------------- /photos/test_data/agallery/best.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/photos/test_data/agallery/best.jpg -------------------------------------------------------------------------------- /photos/test_data/agallery/night.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/photos/test_data/agallery/night.png -------------------------------------------------------------------------------- /test_data/content/cat1/article1.rst: -------------------------------------------------------------------------------- 1 | Article 1 2 | ######### 3 | 4 | :date: 2011-02-17 5 | :yeah: oh yeah ! 6 | 7 | Article 1 8 | -------------------------------------------------------------------------------- /test_data/content/pictures/Sushi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/content/pictures/Sushi.jpg -------------------------------------------------------------------------------- /test_data/content/2012-11-30_filename-metadata.rst: -------------------------------------------------------------------------------- 1 | FILENAME_METADATA example 2 | ######################### 3 | 4 | Some cool stuff! 5 | -------------------------------------------------------------------------------- /test_data/content/pictures/Fat_Cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/content/pictures/Fat_Cat.jpg -------------------------------------------------------------------------------- /test_data/themes/notmyidea/templates/tag.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %}{{ SITENAME }} - {{ tag }}{% endblock %} 3 | -------------------------------------------------------------------------------- /thumbnailer/test_data/sample_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/thumbnailer/test_data/sample_image.jpg -------------------------------------------------------------------------------- /sub_parts/test_data/parent--implicit.md: -------------------------------------------------------------------------------- 1 | title: Implicit sub-article 2 | tags: atag 3 | 4 | Sub-article based on filename as implicit slug. 5 | -------------------------------------------------------------------------------- /test_data/content/pages/jinja2_template.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | 4 | Some text 5 | 6 | {% endblock %} 7 | -------------------------------------------------------------------------------- /thumbnailer/test_data/expected_exact.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/thumbnailer/test_data/expected_exact.jpg -------------------------------------------------------------------------------- /thumbnailer/test_data/expected_height.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/thumbnailer/test_data/expected_height.jpg -------------------------------------------------------------------------------- /thumbnailer/test_data/expected_square.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/thumbnailer/test_data/expected_square.jpg -------------------------------------------------------------------------------- /thumbnailer/test_data/expected_width.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/thumbnailer/test_data/expected_width.jpg -------------------------------------------------------------------------------- /test_data/content/pictures/Sushi_Macro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/content/pictures/Sushi_Macro.jpg -------------------------------------------------------------------------------- /test_data/themes/notmyidea/templates/author.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %}{{ SITENAME }} - {{ author }}{% endblock %} 3 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %}{{ SITENAME }} - {{ category }}{% endblock %} 3 | -------------------------------------------------------------------------------- /twitter_bootstrap_rst_directives/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | from .bootstrap_rst_directives import * 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | ._* 3 | .*.swp 4 | .*.swo 5 | *.pyc 6 | *.log 7 | .DS_Store 8 | .directory 9 | .idea 10 | .project 11 | .pydevproject 12 | -------------------------------------------------------------------------------- /thumbnailer/test_data/subdir/sample_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/thumbnailer/test_data/subdir/sample_image.jpg -------------------------------------------------------------------------------- /assets/test_data/static/css/style.min.css: -------------------------------------------------------------------------------- 1 | body{font:14px/1.5 "Droid Sans",sans-serif;background-color:#e4e4e4;color:#242424}a{color:red}a:hover{color:orange} -------------------------------------------------------------------------------- /i18n_subsites/test_data/content/pages/untranslated-page.rst: -------------------------------------------------------------------------------- 1 | Untranslated page 2 | ================= 3 | :lang: en 4 | 5 | This page has no translation. 6 | -------------------------------------------------------------------------------- /test_data/content/another_super_article-fr.rst: -------------------------------------------------------------------------------- 1 | Trop bien ! 2 | ########### 3 | 4 | :lang: fr 5 | :slug: oh-yeah 6 | 7 | Et voila du contenu en français 8 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/content/pages/hidden-page-en.rst: -------------------------------------------------------------------------------- 1 | A 404 page 2 | ========== 3 | :slug: 404 4 | :lang: en 5 | :status: hidden 6 | 7 | A simple 404 page. 8 | -------------------------------------------------------------------------------- /better_figures_and_images/test_data/dummy-200x200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/better_figures_and_images/test_data/dummy-200x200.png -------------------------------------------------------------------------------- /better_figures_and_images/test_data/dummy-250x300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/better_figures_and_images/test_data/dummy-250x300.png -------------------------------------------------------------------------------- /better_figures_and_images/test_data/dummy-800x300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/better_figures_and_images/test_data/dummy-800x300.png -------------------------------------------------------------------------------- /sub_parts/test_data/parent-explicit.md: -------------------------------------------------------------------------------- 1 | title: Explicit sub-article 2 | tags: atag 3 | slug: parent--explicit 4 | 5 | Explicit sub-article, based on explicit slug. 6 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/content/pages/hidden-page-cz.rst: -------------------------------------------------------------------------------- 1 | 404 stránka 2 | =========== 3 | :slug: 404 4 | :lang: cz 5 | :status: hidden 6 | 7 | Jednoduchá 404 stránka. 8 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/rss.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/vimeo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/vimeo.png -------------------------------------------------------------------------------- /i18n_subsites/test_data/content/pages/hidden-page-de.rst: -------------------------------------------------------------------------------- 1 | Eine 404 Seite 2 | ============== 3 | :slug: 404 4 | :lang: de 5 | :status: hidden 6 | 7 | Eine einfache 404 Seite. 8 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/aboutme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/aboutme.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/github.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/gittip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/gittip.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/lastfm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/lastfm.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/reddit.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/twitter.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/youtube.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/templates/comments.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME %}
There are comments.
{% endif %} 2 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/bitbucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/bitbucket.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/delicious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/delicious.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/facebook.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/gitorious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/gitorious.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/hackernews.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/hackernews.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/linkedin.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/slideshare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/slideshare.png -------------------------------------------------------------------------------- /bootstrap-rst/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/bootstrap-rst/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /bootstrap-rst/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/bootstrap-rst/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /bootstrap-rst/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/bootstrap-rst/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/google-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/google-plus.png -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/images/icons/speakerdeck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NicolasLM/pelican-plugins/HEAD/test_data/themes/notmyidea/static/images/icons/speakerdeck.png -------------------------------------------------------------------------------- /test_data/themes/simple/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block content_title %} 3 |tags: {% for tag in article.tags %}{{ tag }}{% endfor %}
{% endif %} 2 | {% if PDF_PROCESSOR %}{% endif %} 3 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/content/translated_article-de.rst: -------------------------------------------------------------------------------- 1 | Ein übersetzter Artikel 2 | ======================= 3 | :slug: translated-article 4 | :lang: de 5 | :date: 2014-09-14 6 | 7 | Ein einfacher Artikel mit einer Übersetzung. 8 | Hier ist ein Link zur `einigem Bild <{filename}/images/img.png>`_. 9 | -------------------------------------------------------------------------------- /assets/test_data/templates/base.html: -------------------------------------------------------------------------------- 1 | {% extends "!simple/base.html" %} 2 | 3 | {% block head %} 4 | {% assets filters="scss,cssmin", output="gen/style.%(version)s.min.css", "css/style.scss" %} 5 | 6 | {% endassets %} 7 | {% endblock %} 8 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/templates/twitter.html: -------------------------------------------------------------------------------- 1 | {% if TWITTER_USERNAME %} 2 | Tweet 3 | {% endif %} -------------------------------------------------------------------------------- /i18n_subsites/test_data/content/untranslated_article-en.rst: -------------------------------------------------------------------------------- 1 | An untranslated article 2 | ======================= 3 | :date: 2014-07-14 4 | :lang: en 5 | 6 | An article without a translation. 7 | Here is a link to an `untranslated page`_ 8 | 9 | .. _`untranslated page`: {filename}/pages/untranslated-page.rst 10 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/localized_theme/templates/base.html: -------------------------------------------------------------------------------- 1 | {% extends "!simple/base.html" %} 2 | 3 | {% block title %}{% trans %}Welcome to our{% endtrans %} {{ SITENAME }}{% endblock %} 4 | {% block head %} 5 | {{ super() }} 6 | 7 | {% endblock %} 8 | -------------------------------------------------------------------------------- /test_data/content/unbelievable.rst: -------------------------------------------------------------------------------- 1 | Unbelievable ! 2 | ############## 3 | 4 | :date: 2010-10-15 20:30 5 | 6 | Or completely awesome. Depends the needs. 7 | 8 | `a root-relative link to markdown-article <|filename|/cat1/markdown-article.md>`_ 9 | `a file-relative link to markdown-article <|filename|cat1/markdown-article.md>`_ 10 | -------------------------------------------------------------------------------- /test_data/themes/simple/templates/translations.html: -------------------------------------------------------------------------------- 1 | {% macro translations_for(article) %} 2 | {% if article.translations %} 3 | Translations: 4 | {% for translation in article.translations %} 5 | {{ translation.lang }} 6 | {% endfor %} 7 | {% endif %} 8 | {% endmacro %} 9 | 10 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/templates/translations.html: -------------------------------------------------------------------------------- 1 | {% macro translations_for(article) %} 2 | {% if article.translations %} 3 | Translations: 4 | {% for translation in article.translations %} 5 | {{ translation.lang }} 6 | {% endfor %} 7 | {% endif %} 8 | {% endmacro %} 9 | -------------------------------------------------------------------------------- /test_data/themes/simple/templates/page.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}{{ page.title }}{%endblock%} 3 | {% block content %} 4 |
5 | {% else %}
6 |
7 | {% endif %}
8 |
9 | {% endif %}
10 |
--------------------------------------------------------------------------------
/yuicompressor/README.md:
--------------------------------------------------------------------------------
1 | # YUI Compressor Plugin
2 |
3 | A pelican plugin which minify through yui compressor CSS/JS file on building step.
4 |
5 | # Installation
6 |
7 | In order to work, JRE should be already installed.
8 | Please add `pip install yuicompressor`
9 |
10 | More info : (https://github.com/yui/yuicompressor)
11 |
12 | # Instructions
13 |
14 | Add `yuicompressor` to `pelicanconf.py` after install :
15 | `PLUGINS = ['yuicompressor']`
16 |
17 | # Licence
18 |
19 | GNU AFFERO GENERAL PUBLIC LICENSE Version 3
20 |
--------------------------------------------------------------------------------
/test_data/themes/notmyidea/templates/disqus_script.html:
--------------------------------------------------------------------------------
1 | {% if DISQUS_SITENAME %}
2 |
11 | {% endif %}
12 |
--------------------------------------------------------------------------------
/test_data/themes/notmyidea/templates/page.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% block title %}{{ page.title }}{% endblock %}
3 | {% block content %}
4 | 3 | {% if articles_page.has_previous() %} 4 | {% if articles_page.previous_page_number() == 1 %} 5 | « 6 | {% else %} 7 | « 8 | {% endif %} 9 | {% endif %} 10 | Page {{ articles_page.number }} / {{ articles_paginator.num_pages }} 11 | {% if articles_page.has_next() %} 12 | » 13 | {% endif %} 14 |
15 | {% endif %} 16 | -------------------------------------------------------------------------------- /headerid/README.rst: -------------------------------------------------------------------------------- 1 | Pelican ``headerid`` plugin 2 | =========================== 3 | 4 | This plugin adds an anchor to each heading so you can deep-link to headers. 5 | It is intended for formats such as reStructuredText that do not natively 6 | generate these anchors. 7 | 8 | The ``HEADERID_LINK_CHAR`` config can be set to use a different char from ``*`` 9 | for anchor text. 10 | 11 | For Markdown, this plugin is less relevant since the Python-Markdown library 12 | includes a Table of Contents extension that will generate link anchors. 13 | To enable the ``toc`` extension, add a line similar to the following example 14 | to your Pelican settings file:: 15 | 16 | MD_EXTENSIONS = ["codehilite(css_class=highlight)", "extra", "toc"] 17 | -------------------------------------------------------------------------------- /html_rst_directive/html_rst_directive.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | HTML tags for reStructuredText 4 | ============================== 5 | 6 | This plugin allows you to use HTML tags from within reST documents. 7 | 8 | """ 9 | 10 | from __future__ import unicode_literals 11 | from docutils import nodes 12 | from docutils.parsers.rst import directives, Directive 13 | 14 | 15 | class RawHtml(Directive): 16 | required_arguments = 0 17 | optional_arguments = 0 18 | final_argument_whitespace = True 19 | has_content = True 20 | 21 | def run(self): 22 | html = ' '.join(self.content) 23 | node = nodes.raw('', html, format='html') 24 | return [node] 25 | 26 | 27 | 28 | def register(): 29 | directives.register_directive('html', RawHtml) 30 | 31 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/localized_theme/messages.pot: -------------------------------------------------------------------------------- 1 | # Translations template for PROJECT. 2 | # Copyright (C) 2014 ORGANIZATION 3 | # This file is distributed under the same license as the PROJECT project. 4 | # FIRST AUTHORTitle: An Example Textile-formatted Input for Pelican 10 | Date: 2013-08-12 11 | Category: Plugins 12 | Tags: textile, pelican 13 | Author: Joey Coleman 14 | ---- 15 | p. Lorem ipsum dolor sit amet... 16 |17 | -------------------------------------------------------------------------------- /bootstrap-rst/doc/components-page-header.txt: -------------------------------------------------------------------------------- 1 | Page header 2 | =============================================================================== 3 | 4 | A simple shell for an `h1` to appropriately space out and segment sections of 5 | content on a page. It can utilize the `h1`'s default `small` element, as well as 6 | most other components (with additional styles). 7 | 8 | 9 | 10 | .. lead:: Easily highlight new or unread items by adding a 11 | to links, Bootstrap navs, and more. 12 | 13 | 14 | .. container:: bs-example 15 | 16 | .. container:: page-header 17 | 18 | :h1:`Example page header Subtext for header` 19 | 20 | 21 | .. code:: 22 | :class: highlight 23 | 24 | .. page-header:: 25 | 26 | :h1:`Example page header Subtext for header` 27 | -------------------------------------------------------------------------------- /gravatar/Readme.rst: -------------------------------------------------------------------------------- 1 | Gravatar 2 | -------- 3 | 4 | This plugin assigns the ``author_gravatar`` variable to the Gravatar URL and 5 | makes the variable available within the article's context. You can add 6 | ``AUTHOR_EMAIL`` to your settings file to define the default author's email 7 | address. Obviously, that email address must be associated with a Gravatar 8 | account. 9 | 10 | Alternatively, you can provide an email address from within article metadata. 11 | 12 | In reSTructuredText:: 13 | 14 | :email: john.doe@example.com 15 | 16 | In Markdown:: 17 | 18 | Email: john.doe@example.com 19 | 20 | If the email address is defined via at least one of the two methods above, the 21 | ``author_gravatar`` variable is added to the article's context. For Markdown, 22 | it is critical that the 'E' in ``Email`` is capitalized. 23 | 24 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/templates/article_infos.html: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /read_more_link/Readme.md: -------------------------------------------------------------------------------- 1 | Read More Link 2 | === 3 | 4 | **Author**: Vuong Nguyen (http://vuongnguyen.com) 5 | 6 | This plugin inserts an inline "read more" or "continue" link into the last html element of the object summary. 7 | 8 | For more information, please visit: http://vuongnguyen.com/creating-inline-read-more-link-python-pelican-lxml.html 9 | 10 | Requirements 11 | --- 12 | 13 | lxml - for parsing html elements 14 | 15 | Settings 16 | --- 17 | # This settings indicates that you want to create summary at a certain length 18 | SUMMARY_MAX_LENGTH = 50 19 | 20 | # This indicates what goes inside the read more link 21 | READ_MORE_LINK = None (ex: 'continue') 22 | 23 | # This is the format of the read more link 24 | READ_MORE_LINK_FORMAT = '{text}' 25 | 26 | 27 | -------------------------------------------------------------------------------- /html_entity/README.rst: -------------------------------------------------------------------------------- 1 | HTML Entities for reStructuredText 2 | ################################## 3 | 4 | This plugin allows you to enter HTML entities such as ©, <, inline in a RST document, as opposed 5 | to the tedious method of creating substitution definitions. 6 | 7 | Roles 8 | ===== 9 | 10 | Adds one inline role: 11 | 12 | :: 13 | 14 | :html_entity: 15 | 16 | Usage 17 | ===== 18 | 19 | :: 20 | 21 | :html_entity:`copy` 2013 :html_entity:`lt` Pelican :html_entity:`gt` Industries :html_entity:`149` All Rights Reserved 22 | 23 | produces: 24 | 25 | |copy| 2013 |lt| Pelican |gt| Industries |bullet| All Rights Reserved 26 | 27 | .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN 28 | .. |lt| unicode:: U+003C .. LESS THAN 29 | .. |gt| unicode:: U+003E .. GREATER THAN 30 | .. |bullet| unicode:: U+2022 .. BULLET 31 | -------------------------------------------------------------------------------- /liquid_tags/liquid_tags.py: -------------------------------------------------------------------------------- 1 | from pelican import signals 2 | from .mdx_liquid_tags import LiquidTags, LT_CONFIG 3 | 4 | 5 | def addLiquidTags(gen): 6 | if not gen.settings.get('MARKDOWN'): 7 | from pelican.settings import DEFAULT_CONFIG 8 | gen.settings['MARKDOWN'] = DEFAULT_CONFIG['MARKDOWN'] 9 | 10 | if LiquidTags not in gen.settings['MARKDOWN']: 11 | configs = dict() 12 | for key,value in LT_CONFIG.items(): 13 | configs[key]=value 14 | for key,value in gen.settings.items(): 15 | if key in LT_CONFIG: 16 | configs[key]=value 17 | gen.settings['MARKDOWN'].setdefault( 18 | 'extensions', [] 19 | ).append( 20 | LiquidTags(configs) 21 | ) 22 | 23 | 24 | def register(): 25 | signals.initialized.connect(addLiquidTags) 26 | -------------------------------------------------------------------------------- /bootstrap-rst/page.tmpl: -------------------------------------------------------------------------------- 1 | %(head_prefix)s 2 | %(head)s 3 | 4 | 5 | 6 | 7 | 8 | %(stylesheet)s 9 | %(body_prefix)s 10 | %(body_pre_docinfo)s 11 | %(docinfo)s 12 |
13 | 14 | {{event['title']}} 15 | 16 |
17 |18 | {% if evstart.date() == evend.date() %} 19 | From {{evstart}} to {{evend.time()}} 20 | {% else %} 21 | From {{evstart}} to {{evend}} 22 | {% endif %} 23 |
24 | 25 | {% if event.location %} 26 |Location: {{event.location}}
27 | {% endif %} 28 | 29 |{{event['summary']}}
30 | 31 |This post is part of a series:
19 |> <>`
15 |
16 | For the complete syntax, look at: http://www.wikicreole.org/
17 |
18 | ## Basic example
19 | ```
20 | <>
36 | print("Hello World")
37 | <>
38 |
39 | # An ordered list
40 | # A second item
41 | ```
42 |
--------------------------------------------------------------------------------
/section_number/Readme.md:
--------------------------------------------------------------------------------
1 | Section Number
2 | --------------
3 |
4 | This plugin adds section numbers to an article's context, in the form of `X.X.X`. Sections are indicated via Markdown headers, which appear as `
')),
19 | (dict(gif_id='abc123', alt='ive had some free time'),
20 | (''
21 | '
'))
23 | ])
24 | @patch('liquid_tags.giphy.urlopen')
25 | def test_create_html(mock_urlopen, input, expected):
26 | with open(TEST_DATA_DIR + '/giphy.json', 'rb') as f:
27 | mock_urlopen.return_value.read.return_value = f.read()
28 |
29 | assert giphy.create_html('test_api_key', input) == expected
30 |
--------------------------------------------------------------------------------
/txt2tags_reader/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/yuicompressor/yuicompressor.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | from pelican import signals
4 | from subprocess import call
5 | import logging
6 | import os
7 |
8 | logger = logging.getLogger(__name__)
9 |
10 | # Display command output on DEBUG and TRACE
11 | SHOW_OUTPUT = logger.getEffectiveLevel() <= logging.DEBUG
12 |
13 | """
14 | Minify CSS and JS files in output path
15 | with Yuicompressor from Yahoo
16 | Required : pip install yuicompressor
17 | """
18 |
19 | def minify(pelican):
20 | """
21 | Minify CSS and JS with YUI Compressor
22 | :param pelican: The Pelican instance
23 | """
24 | for dirpath, _, filenames in os.walk(pelican.settings['OUTPUT_PATH']):
25 | for name in filenames:
26 | if os.path.splitext(name)[1] in ('.css','.js'):
27 | filepath = os.path.join(dirpath, name)
28 | logger.info('minifiy %s', filepath)
29 | verbose = '-v' if SHOW_OUTPUT else ''
30 | call("yuicompressor {} --charset utf-8 {} -o {}".format(
31 | verbose, filepath, filepath), shell=True)
32 |
33 | def register():
34 | signals.finalized.connect(minify)
35 |
--------------------------------------------------------------------------------
/bootstrap-rst/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Nicolas P. Rougier
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/multi_part/multi_part.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | Copyright (c) FELD Boris This page has no translation.
21 | 22 | 23 | 29 | 30 | -------------------------------------------------------------------------------- /bootstrap-rst/doc/CSS-code.txt: -------------------------------------------------------------------------------- 1 | Code 2 | =============================================================================== 3 | 4 | Inline 5 | ------ 6 | 7 | Wrap inline snippets of code with `:code:`. 8 | 9 | .. container:: bs-example 10 | 11 | For example, `Idea date: {{ article.idea_date | strftime('%d %B %Y') }}
38 | {% for d in article.important_dates %} 39 |Important date: {{ d | strftime('%d %B %Y') }}
40 | {% endfor %} 41 | 42 | -------------------------------------------------------------------------------- /bootstrap-rst/doc/CSS-images.txt: -------------------------------------------------------------------------------- 1 | Images 2 | =============================================================================== 3 | 4 | Responsive images 5 | ----------------- 6 | 7 | Images in Bootstrap 3 can be made responsive-friendly via the addition of the 8 | .img-responsive class. This applies max-width: 100%; and height: auto; to the 9 | image so that it scales nicely to the parent element. 10 | 11 | 12 | .. code:: 13 | :class: highlight 14 | 15 | .. image:: image.png 16 | :class: img-responsive 17 | 18 | Image shapes 19 | ------------ 20 | 21 | Add classes to an `this is code[ref]footnote[/ref] end code end",
30 | "wordsthis is code[ref]footnote[/ref] end code end")
31 |
32 | if __name__ == '__main__':
33 | unittest.main()
--------------------------------------------------------------------------------
/w3c_validate/README.md:
--------------------------------------------------------------------------------
1 | # w3c_validate plugin
2 |
3 | This is a plugin for Pelican that submits generated HTML content to the
4 | [W3C Markup Validation Service](http://validator.w3.org/).
5 |
6 | After all content is generated, the output folder is traversed for HTML files,
7 | and the content is submitted to the W3C validator, after which the results
8 | are displayed. For example:
9 |
10 | -> writing /tmp/_output/sitemap.xml
11 | -> Validating: /tmp/_output/archives.html
12 | ERROR: line: 2; col: 52; message: Bad value http://www.w3.org/1999/html for the attribute xmlns (only http://www.w3.
13 | -> Validating: /tmp/_output/categories.html
14 | ERROR: line: 2; col: 52; message: Bad value http://www.w3.org/1999/html for the attribute xmlns (only http://www.w3.
15 |
16 | **Note**: The above output assumes you have called Pelican with the ``--debug``
17 | flag. Otherwise, you will see errors (if any) but not the file currently being
18 | validated.
19 |
20 | ## Dependencies
21 |
22 | * [py_w3c](https://pypi.python.org/pypi/py_w3c/0.1.0), which can be installed with pip:
23 |
24 | $ pip install py_w3c
25 |
26 | ## Instructions
27 |
28 | Add `w3c_validate` to your config file's plugins after installing dependencies - `PLUGINS = ['w3c_validate']`
29 |
30 | ## TODO
31 |
32 | [ ] - add tests
33 |
34 |
--------------------------------------------------------------------------------
/i18n_subsites/test_data/output/pages/untranslated-page.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | This page has no translation.
22 | 23 | 24 | 30 | 31 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/output/de/pages/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |Eine einfache 404 Seite.
24 | 25 | 26 | 32 | 33 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/static/css/reset.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Reset Stylesheet 3 | Description: Resets browser's default CSS 4 | Author: Eric Meyer 5 | Author URI: http://meyerweb.com/eric/tools/css/reset/ 6 | */ 7 | 8 | /* v1.0 | 20080212 */ 9 | html, body, div, span, applet, object, iframe, 10 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 11 | a, abbr, acronym, address, big, cite, code, 12 | del, dfn, em, font, img, ins, kbd, q, s, samp, 13 | small, strike, strong, sub, sup, tt, var, 14 | b, u, i, center, 15 | dl, dt, dd, ol, ul, li, 16 | fieldset, form, label, legend, 17 | table, caption, tbody, tfoot, thead, tr, th, td { 18 | background: transparent; 19 | border: 0; 20 | font-size: 100%; 21 | margin: 0; 22 | outline: 0; 23 | padding: 0; 24 | vertical-align: baseline; 25 | } 26 | 27 | body {line-height: 1;} 28 | 29 | ol, ul {list-style: none;} 30 | 31 | blockquote, q {quotes: none;} 32 | 33 | blockquote:before, blockquote:after, 34 | q:before, q:after { 35 | content: ''; 36 | content: none; 37 | } 38 | 39 | /* remember to define focus styles! */ 40 | :focus { 41 | outline: 0; 42 | } 43 | 44 | /* remember to highlight inserts somehow! */ 45 | ins {text-decoration: none;} 46 | del {text-decoration: line-through;} 47 | 48 | /* tables still need 'cellspacing="0"' in the markup */ 49 | table { 50 | border-collapse: collapse; 51 | border-spacing: 0; 52 | } -------------------------------------------------------------------------------- /i18n_subsites/test_data/output/cz/pages/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |Jednoduchá 404 stránka.
24 | 25 | 26 | 32 | 33 | -------------------------------------------------------------------------------- /linker/mailto.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import absolute_import 3 | 4 | import codecs 5 | 6 | from pelican import signals 7 | from pelican.generators import Generator 8 | 9 | from linker import linker 10 | 11 | def encode_mailto_link(mailto): 12 | return 'mailto/' + codecs.encode(mailto, 'rot_13') + '/' 13 | 14 | class MailtoLinker(linker.LinkerBase): 15 | commands = ['mailto'] 16 | 17 | def link(self, link): 18 | mailto = link.path 19 | 20 | link.path = '/' + encode_mailto_link(mailto) # a.href for JS parsing 21 | link.context['mailtos'].add(mailto) # remember mail address for fallback 22 | 23 | 24 | class MailtoFallbackGenerator(Generator): 25 | def generate_context(self): 26 | self.context['mailtos'] = set() # populated on {mailto} link processing 27 | 28 | def generate_output(self, writer): 29 | for mailto in self.context['mailtos']: 30 | save_as = encode_mailto_link(mailto) + 'index.html' 31 | 32 | writer.write_file(save_as, self.get_template('mailto_fallback'), 33 | self.context, mailto=mailto) 34 | 35 | 36 | def return_mailto_fallback_generator(generators): 37 | return MailtoFallbackGenerator 38 | 39 | def register(): 40 | linker.register() 41 | signals.get_generators.connect(return_mailto_fallback_generator) 42 | -------------------------------------------------------------------------------- /members/members.py: -------------------------------------------------------------------------------- 1 | """ 2 | Members info plugin for Pelican 3 | =============================== 4 | 5 | This plugin looks for a ``members`` metadata header containing key/value pairs 6 | and makes them available for use in templates 7 | 8 | The first line of the members metadata defines each key, and the following 9 | lines contain corresponding values for each member. 10 | 11 | :members: nome, email, twitter, github, site_nome, site_href 12 | Danilo Shiga, daniloshiga@gmail.com, @daneoshiga, daneoshiga, Danilo Shiga, http://daniloshiga.com 13 | """ 14 | 15 | from collections import OrderedDict 16 | 17 | from pelican import signals 18 | 19 | 20 | def add_members(generator, metadata): 21 | 22 | if 'members' in metadata.keys(): 23 | # Dealing with differences on metadata for md and rst content 24 | if type(metadata['members']) == list: 25 | members = metadata['members'] 26 | else: 27 | members = metadata['members'].splitlines() 28 | 29 | metadata['members'] = OrderedDict() 30 | keys = map(unicode.strip, members[0].split(',')) 31 | for member in members[1:]: 32 | values = map(unicode.strip, member.split(',')) 33 | member_dict = dict(zip(keys, values)) 34 | metadata['members'][member_dict['nome']] = member_dict 35 | 36 | 37 | def register(): 38 | signals.page_generator_context.connect(add_members) 39 | -------------------------------------------------------------------------------- /i18n_subsites/test_data/pelicanconf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- # 3 | from __future__ import unicode_literals 4 | 5 | AUTHOR = 'The Tester' 6 | SITENAME = 'Testing site' 7 | SITEURL = 'http://example.com/test' 8 | 9 | # to make the test suite portable 10 | TIMEZONE = 'UTC' 11 | 12 | DEFAULT_LANG = 'en' 13 | LOCALE = 'en_US.UTF-8' 14 | 15 | # Generate only one feed 16 | FEED_ALL_ATOM = 'feeds_all.atom.xml' 17 | CATEGORY_FEED_ATOM = None 18 | TRANSLATION_FEED_ATOM = None 19 | AUTHOR_FEED_ATOM = None 20 | AUTHOR_FEED_RSS = None 21 | 22 | # Disable unnecessary pages 23 | CATEGORY_SAVE_AS = '' 24 | TAG_SAVE_AS = '' 25 | AUTHOR_SAVE_AS = '' 26 | ARCHIVES_SAVE_AS = '' 27 | AUTHORS_SAVE_AS = '' 28 | CATEGORIES_SAVE_AS = '' 29 | TAGS_SAVE_AS = '' 30 | 31 | PLUGIN_PATHS = ['../../'] 32 | PLUGINS = ['i18n_subsites'] 33 | 34 | THEME = 'localized_theme' 35 | JINJA_ENVIRONMENT = {'extensions': ['jinja2.ext.i18n']} 36 | 37 | from blinker import signal 38 | tmpsig = signal('tmpsig') 39 | I18N_FILTER_SIGNALS = [tmpsig] 40 | 41 | I18N_SUBSITES = { 42 | 'de': { 43 | 'SITENAME': 'Testseite', 44 | 'AUTHOR': 'Der Tester', 45 | 'LOCALE': 'de_DE.UTF-8', 46 | }, 47 | 'cz': { 48 | 'SITENAME': 'Testovací stránka', 49 | 'AUTHOR': 'Test Testovič', 50 | 'I18N_UNTRANSLATED_PAGES': 'remove', 51 | 'I18N_UNTRANSLATED_ARTICLES': 'keep', 52 | }, 53 | } 54 | -------------------------------------------------------------------------------- /pelican_comment_system/identicon/LICENSE: -------------------------------------------------------------------------------- 1 | identicon.py is Licesensed under FreeBSD License. 2 | (http://www.freebsd.org/copyright/freebsd-license.html) 3 | 4 | Copyright 1994-2009 Shin Adachi. All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 9 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 10 | 11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 12 | -------------------------------------------------------------------------------- /static_comments/static_comments.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import codecs 4 | import logging 5 | import markdown 6 | import os 7 | 8 | logger = logging.getLogger(__name__) 9 | 10 | from pelican import signals 11 | 12 | 13 | def initialized(pelican): 14 | from pelican.settings import DEFAULT_CONFIG 15 | DEFAULT_CONFIG.setdefault('STATIC_COMMENTS', False) 16 | DEFAULT_CONFIG.setdefault('STATIC_COMMENTS_DIR' 'comments') 17 | if pelican: 18 | pelican.settings.setdefault('STATIC_COMMENTS', False) 19 | pelican.settings.setdefault('STATIC_COMMENTS_DIR', 'comments') 20 | 21 | 22 | def add_static_comments(gen, metadata): 23 | if gen.settings['STATIC_COMMENTS'] != True: 24 | return 25 | 26 | if not 'slug' in metadata: 27 | logger.warning("static_comments: " 28 | "cant't locate comments file without slug tag in the article") 29 | return 30 | 31 | fname = os.path.join(gen.settings['STATIC_COMMENTS_DIR'], 32 | metadata['slug'] + ".md") 33 | 34 | if not os.path.exists(fname): 35 | return 36 | 37 | input_file = codecs.open(fname, mode="r", encoding="utf-8") 38 | text = input_file.read() 39 | html = markdown.markdown(text) 40 | 41 | metadata['static_comments'] = html 42 | 43 | 44 | def register(): 45 | signals.initialized.connect(initialized) 46 | signals.article_generator_context.connect(add_static_comments) 47 | -------------------------------------------------------------------------------- /test_data/themes/notmyidea/templates/article.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}{{ article.title|striptags }}{% endblock %} 3 | {% block content %} 4 |A simple 404 page.
25 | 26 | 27 | 33 | 34 | -------------------------------------------------------------------------------- /better_tables/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015 Alex Waite 2 | # Permission is hereby granted, free of charge, to any person obtaining a copy 3 | # of this software and associated documentation files (the "Software"), to deal 4 | # in the Software without restriction, including without limitation the rights 5 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 6 | # copies of the Software, and to permit persons to whom the Software is 7 | # furnished to do so, subject to the following conditions: 8 | 9 | # The above copyright notice and this permission notice shall be included in 10 | # all copies or substantial portions of the Software. 11 | 12 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY 14 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 15 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 16 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 17 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 18 | # SOFTWARE. 19 | 20 | # -*- coding: utf-8 -*- 21 | __title__ = 'better-tables' 22 | __version__ = '0.1.0' 23 | __author__ = 'Alex Waite' 24 | __credits__ = ["Alex Waite"] 25 | __maintainer__ = "Alex Waite" 26 | __email__ = "Alexqw85@gmail.com" 27 | __status__ = "Stable" 28 | __license__ = 'MIT' 29 | __copyright__ = 'Copyright 2015' 30 | 31 | from .better_tables import * 32 | -------------------------------------------------------------------------------- /html_entity/html_entity.py: -------------------------------------------------------------------------------- 1 | """ 2 | HTML Entities for reStructured Text 3 | =================================== 4 | 5 | Allows user to use HTML entities (©, , etc.) in RST documents. 6 | 7 | Usage: 8 | :html_entity:`copy` 9 | :html_entity:`149` 10 | :html_entity:`#149` 11 | """ 12 | from __future__ import unicode_literals 13 | from docutils import nodes, utils 14 | from docutils.parsers.rst import roles 15 | from pelican.readers import PelicanHTMLTranslator 16 | import six 17 | 18 | 19 | class html_entity(nodes.Inline, nodes.Node): 20 | # Subclassing Node directly since TextElement automatically appends the escaped element 21 | def __init__(self, rawsource, text): 22 | self.rawsource = rawsource 23 | self.text = text 24 | self.children = [] 25 | self.attributes = {} 26 | 27 | def astext(self): 28 | return self.text 29 | 30 | 31 | def entity_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): 32 | text = utils.unescape(text) 33 | entity_code = text 34 | try: 35 | entity_code = "#{}".format(six.u(int(entity_code))) 36 | except ValueError: 37 | pass 38 | entity_code = "&{};".format(entity_code) 39 | return [html_entity(text, entity_code)], [] 40 | 41 | 42 | def register(): 43 | roles.register_local_role('html_entity', entity_role) 44 | 45 | PelicanHTMLTranslator.visit_html_entity = lambda self, node: self.body.append(node.astext()) 46 | PelicanHTMLTranslator.depart_html_entity = lambda self, node: None 47 | -------------------------------------------------------------------------------- /org_reader/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2015 Matthew Snyder, http://msnyder.info 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 7 | 8 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 9 | 10 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13 | -------------------------------------------------------------------------------- /pelican_comment_system/doc/avatars.md: -------------------------------------------------------------------------------- 1 | # Avatars and Identicons 2 | To activate the avatars and [identicons](https://en.wikipedia.org/wiki/Identicon) you have to set `PELICAN_COMMENT_SYSTEM_IDENTICON_DATA`. 3 | 4 | ##### Example 5 | ```python 6 | PELICAN_COMMENT_SYSTEM_IDENTICON_DATA = ('author',) 7 | ``` 8 | Now every comment with the same author tag will be treated as if written from the same person. And therefore have the same avatar/identicon. Of cause you can modify this tuple so other metadata are checked. 9 | 10 | ## Specific Avatars 11 | To set a specific avatar for a author you have to add them to the `PELICAN_COMMENT_SYSTEM_AUTHORS` dictionary. 12 | 13 | The `key` of the dictionary has to be a tuple of the form of `PELICAN_COMMENT_SYSTEM_IDENTICON_DATA`, so in our case only the author's name. 14 | 15 | The `value` of the dictionary is the path to the specific avatar. 16 | 17 | ##### Example 18 | ```python 19 | PELICAN_COMMENT_SYSTEM_AUTHORS = { 20 | ('John',): "images/authors/john.png", 21 | ('Tom',): "images/authors/tom.png", 22 | } 23 | ``` 24 | 25 | ## Theme 26 | To display the avatars and identicons simply add the following in the "comment for loop" in your theme: 27 | 28 | ```html 29 |{{output.text | ansi2html}}
23 | {%- endblock -%}
24 |
25 | {% block input %}
26 | {% if "# " in cell.input %}
27 | {{output.text | ansi2html}}
23 | {%- endblock -%}
24 |
25 | {% block input %}
26 | {% if "# " in cell.input %}
27 | ~{{ article.stats['read_mins'] }} min read
29 |
Comments !
20 | 21 | 30 |